#pragma once

/*
    Copyright (C) 2010, Felix Bytow <drako123@gmx.de>

    This file is part of DBCpp.

    DBCpp is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    DBCpp is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with DBCpp.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef __FACTION_TEMPLATE_HPP__
#define __FACTION_TEMPLATE_HPP__

namespace DBCpp
{
#pragma pack(1)
	struct FactionTemplate
	{
		dbc_int ID;
		dbc_int FactionID;
		dbc_int Unknown;
		dbc_int OwnMask;
		dbc_int FriendlyMask;
		dbc_int HostileMask;
		dbc_int FriendlyFactions[4];
		dbc_int HostileFactions[4];
	};
#pragma pack()

	typedef templateDBC<FactionTemplate> FactionTemplateDBC;
	
	// for the OwnMask, FriendlyMask and HostileMask
	// FTM = Faction Template Mask
#define FTM_ALL_PLAYERS 0x01
#define FTM_ALLIANCE	0x02
#define FTM_HORDE		0x04
#define FTM_MONSTER		0x08
}

#endif // __FACTION_TEMPLATE_HPP__
